package com.azdebugit.exception.test;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

public class ThrowsDemo01 {
    //main方法调用方法1, 如果再抛出异常, 那么就会把异常交给JVM处理, JVM就会终止程序, 所以在main方法中必须要对抛出的异常进行处理
    public static void main(String[] args) {
        //用try - catch - finally 捕获处理异常
        try {
            method1();
        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println("程序还能执行1111111111111");
    }

    //方法method1()的内容是调用方法2, 但还是抛出异常不做处理
    public static void method1() throws FileNotFoundException, IOException {
        System.out.println("33333333333333");
        method2();
    }

    //方法method2()把异常抛出, 不在方法2里处理
    public static void method2() throws FileNotFoundException, IOException {
        File file = new File("D:\\ceshi\\test.log");
        FileInputStream fis = new FileInputStream(file);
        int data = fis.read();
        while (data != -1) {
            System.out.println((char) data);
            data = fis.read();
        }
        fis.close();
    }
}